iT邦幫忙

2026 iThome 鐵人賽

DAY 0
0
Security

從 Linux 到 Pwn:30 天學習資安攻防系列 第 4

Day 3|目前工作目錄與 cd 指令:Position thy self

  • 分享至 

  • xImage
  •  

前言
前兩天分別學習了 Linux 的根目錄 / 與 Absolute Path(絕對路徑)的概念。
今天的 Challenge 開始接觸另一個重要觀念 目前工作目錄(Current Working Directory)
透過這次的 Position thy self 挑戰,我第一次實際使用 cd 指令切換目錄,並理解 Linux 為什麼會在意「目前所在的位置」。


一、什麼是目前工作目錄?

在 Linux 中,每個程式執行時都會有一個目前所在的位置。
這個位置稱為 Current Working Directory(目前工作目錄)
可以把它理解成目前終端機正在工作的資料夾。
例如輸入pwd
https://ithelp.ithome.com.tw/upload/images/20260918/20183180Bwe1u8hDRG.png
顯示 /home/hacker
代表目前所在的位置是 /home/hacker


二、什麼是 cd?

cdChange Directory 也就是切換目錄的意思。
例如 cd /tmp
代表切換到 /tmp 目錄。
再使用 pwd 確認目前位置。
如果看到 /tmp 就表示切換成功。


三、實際操作

這次 Challenge 一開始直接執行 /challenge/run
https://ithelp.ithome.com.tw/upload/images/20260918/20183180IPixJtEEjE.png
結果出現錯誤訊息
Incorrect... You are not currently in the /usr/share/build-essential directory. Please use the cd utility to change directory appropriately.
從訊息可以得知,題目要求必須在 /usr/share/build-essential 目錄中執行程式。
因此先切換致目錄 /usr/share/build-essential
https://ithelp.ithome.com.tw/upload/images/20260918/20183180sB9DILRuTV.png
接著輸入pwd確認目前位置
https://ithelp.ithome.com.tw/upload/images/20260918/20183180KXjV2T0Umw.png
結果顯示與題目要求路徑一致
再次執行 /challenge/run
https://ithelp.ithome.com.tw/upload/images/20260918/20183180k1yovn2fKO.png
成功取得 Flag。


四、為什麼一定要切換目錄?

一開始可能會以為只要執行/challenge/run就能完成挑戰。
但這一關會讓你發現 Linux 不只在乎執行哪個程式,還會在乎目前是從哪個目錄執行這個程式

因此即使使用了正確的程式路徑 /challenge/run
如果目前工作目錄不符合要求,程式仍然可能拒絕執行。


五、今天的心得

今天的 Challenge 雖然不難,但可以開始理解 Linux 中「位置」的重要性。
之前只知道路徑可以用來找到程式,今天則學到程式有時候還會要求從特定目錄執行。
透過 cdpwd 的搭配使用,也讓人對目前工作目錄的概念有更清楚的理解。
我發現很多 Linux 指令看起來很簡單,但背後其實都和檔案系統的運作方式有關。
這些基礎概念雖然不像 Pwn 題目那麼刺激,但應該都是後續學習的重要基礎。


上一篇
Day 2|Program and Absolute Paths:使用絕對路徑執行程式
下一篇
Day 4|Linux 目錄導航實戰:Position elsewhere
系列文
從 Linux 到 Pwn:30 天學習資安攻防9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言